﻿
/*
*@module: iframe页面增加全局禁用退格键
*@Author: juhailin 2015-08-05
*@Update:
*/
window.onload=function(){
	document.getElementsByTagName("body")[0].onkeydown =function(){
		//获取事件对象
		var elem = event.relatedTarget || event.srcElement || event.target ||event.currentTarget; 
		if(event.keyCode==8){//判断按键为backSpace键
			//获取按键按下时光标做指向的element
			var elem = event.srcElement || event.currentTarget;
			if($(elem).attr("contenteditable")){
				return;
			}
			//判断是否需要阻止按下键盘的事件默认传递
			var name = elem.nodeName;
			if(name!='INPUT' && name!='TEXTAREA'){
				return _stopIt(event);
			}
			var type_e = elem.type.toUpperCase();
			if(name=='INPUT' && (type_e!='TEXT' && type_e!='TEXTAREA' && type_e!='PASSWORD' && type_e!='FILE')){
				return _stopIt(event);
			}
			if(name=='INPUT' && (elem.readOnly==true || elem.disabled ==true)){
				return _stopIt(event);
			}
		}
	}
}
function _stopIt(e){
	if(e.returnValue){
		e.returnValue = false ;
	}
	if(e.preventDefault ){
		e.preventDefault();
	}				
	return false;
}




/**
 * jQuery EasyUI 1.2.5
 * 
 * Licensed under the GPL terms
 * To use it on other terms please contact us
 *
 * Copyright(c) 2009-2011 stworthy [ stworthy@gmail.com ] 
 * 
 */
(function($) {
    function _1(_2, _3) {
        _3 = _3 || {};
        if (_3.onSubmit) {
            if (_3.onSubmit.call(_2) == false) {
                return;
            }
        }
        var _4 = $(_2);
        if (_3.url) {
            _4.attr("action", _3.url);
        }
        var _5 = "easyui_frame_" + (new Date().getTime());
        var _6 = $("<iframe id=" + _5 + " name=" + _5 + "></iframe>").attr("src", window.ActiveXObject ? "javascript:false" : "about:blank").css({
            position: "absolute",
            top: -1000,
            left: -1000
        });
        var t = _4.attr("target"),
            a = _4.attr("action");
        _4.attr("target", _5);
        try {
            _6.appendTo("body");
            _6.bind("load", cb);
            _4[0].submit();
        } finally {
            _4.attr("action", a);
            t ? _4.attr("target", t) : _4.removeAttr("target");
        }
        var _7 = 10;

        function cb() {
            _6.unbind();
            var _8 = $("#" + _5).contents().find("body");
            var _9 = _8.html();
            if (_9 == "") {
                if (--_7) {
                    setTimeout(cb, 100);
                    return;
                }
                return;
            }
            var ta = _8.find(">textarea");
            if (ta.length) {
                _9 = ta.val();
            } else {
                var _a = _8.find(">pre");
                if (_a.length) {
                    _9 = _a.html();
                }
            }
            if (_3.success) {
                _3.success(_9);
            }
            setTimeout(function() {
                _6.unbind();
                _6.remove();
            }, 100);
        };
    };

    function _b(_c, _d) {
        if (!$.data(_c, "form")) {
            $.data(_c, "form", {
                options: $.extend({}, $.fn.form.defaults)
            });
        }
        var _e = $.data(_c, "form").options;
        if (typeof _d == "string") {
            var _f = {};
            if (_e.onBeforeLoad.call(_c, _f) == false) {
                return;
            }
            $.ajax({
                url: _d,
                data: _f,
                dataType: "json",
                success: function(_10) {
                    _11(_10);
                },
                error: function() {
                    _e.onLoadError.apply(_c, arguments);
                }
            });
        } else {
            _11(_d);
        }

        function _11(_12) {
            var _13 = $(_c);
            for (var _14 in _12) {
                var val = _12[_14];
                var rr = _15(_14, val);
                if (!rr.length) {
                    var f = _13.find("input[numberboxName=\"" + _14 + "\"]");
                    if (f.length) {
                        f.numberbox("setValue", val);
                    } else {
                        $("input[name=\"" + _14 + "\"]", _13).val(val);
                        $("textarea[name=\"" + _14 + "\"]", _13).val(val);
                        $("select[name=\"" + _14 + "\"]", _13).val(val);
                    }
                }
                _16(_14, val);
            }
            _e.onLoadSuccess.call(_c, _12);
            _1f(_c);
        };

        function _15(_17, val) {
            var _18 = $(_c);
            var rr = $("input[name=\"" + _17 + "\"][type=radio], input[name=\"" + _17 + "\"][type=checkbox]", _18);
            $.fn.prop ? rr.prop("checked", false) : rr.attr("checked", false);
            rr.each(function() {
                var f = $(this);
                if (f.val() == val) {
                    $.fn.prop ? f.prop("checked", true) : f.attr("checked", true);
                }
            });
            return rr;
        };

        function _16(_19, val) {
            var _1a = $(_c);
            var cc = ["combobox", "combotree", "combogrid", "datetimebox", "datebox", "combo"];
            var c = _1a.find("[comboName=\"" + _19 + "\"]");
            if (c.length) {
                for (var i = 0; i < cc.length; i++) {
                    var _1b = cc[i];
                    if (c.hasClass(_1b + "-f")) {
                        if (c[_1b]("options").multiple) {
                            c[_1b]("setValues", val);
                        } else {
                            c[_1b]("setValue", val);
                        }
                        return;
                    }
                }
            }
        };
    };

    function _1c(_1d) {
        $("input,select,textarea", _1d).each(function() {
            var t = this.type,
                tag = this.tagName.toLowerCase();
            if (t == "text" || t == "hidden" || t == "password" || tag == "textarea") {
                this.value = "";
            } else {
                if (t == "file") {
                    var _1e = $(this);
                    _1e.after(_1e.clone().val(""));
                    _1e.remove();
                } else {
                    if (t == "checkbox" || t == "radio") {
                        this.checked = false;
                    } else {
                        if (tag == "select") {
                            this.selectedIndex = -1;
                        }
                    }
                }
            }
        });
        if ($.fn.combo) {
            $(".combo-f", _1d).combo("clear");
        }
        if ($.fn.combobox) {
            $(".combobox-f", _1d).combobox("clear");
        }
        if ($.fn.combotree) {
            $(".combotree-f", _1d).combotree("clear");
        }
        if ($.fn.combogrid) {
            $(".combogrid-f", _1d).combogrid("clear");
        }
        _1f(_1d);
    };

    function _20(_21) {
        var _22 = $.data(_21, "form").options;
        var _23 = $(_21);
        _23.unbind(".form").bind("submit.form", function() {
            setTimeout(function() {
                _1(_21, _22);
            }, 0);
            return false;
        });
    };

    function _1f(_24) {
        if ($.fn.validatebox) {
            var box = $(".validatebox-text", _24);
            if (box.length) {
                box.validatebox("validate");
                box.trigger("focus");
                box.trigger("blur");
                var _25 = $(".validatebox-invalid:first", _24).focus();
                return _25.length == 0;
            }
        }
        return true;
    };
    $.fn.form = function(_26, _27) {
        if (typeof _26 == "string") {
            return $.fn.form.methods[_26](this, _27);
        }
        _26 = _26 || {};
        return this.each(function() {
            if (!$.data(this, "form")) {
                $.data(this, "form", {
                    options: $.extend({}, $.fn.form.defaults, _26)
                });
            }
            _20(this);
        });
    };
    $.fn.form.methods = {
        submit: function(jq, _28) {
            return jq.each(function() {
                _1(this, $.extend({}, $.fn.form.defaults, _28 || {}));
            });
        },
        load: function(jq, _29) {
            return jq.each(function() {
                _b(this, _29);
            });
        },
        clear: function(jq) {
            return jq.each(function() {
                _1c(this);
            });
        },
        validate: function(jq) {
            return _1f(jq[0]);
        }
    };
    $.fn.form.defaults = {
        url: null,
        onSubmit: function() {
            return $(this).form("validate");
        },
        success: function(_2a) {},
        onBeforeLoad: function(_2b) {},
        onLoadSuccess: function(_2c) {},
        onLoadError: function() {}
    };
})(jQuery);
